Firmware writing system

ABSTRACT

A firmware writing system for writing firmware into an electronic device includes a flash memory for storing a system control program controlling the electronic device, and a RAM for storing the system control program and a writing control program for making control of writing a program into the flash memory. Through a JTAG interface, the system control program and the writing control program are stored in the RAM, and the writing control program stored in the RAM is executed so that the system control program is written into the flash memory.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to a firmware writing system, and particularly relates to a firmware writing system for writing or updating a control program controlling a system of an electronic device.

[0002] According to some related-art techniques, for example, as disclosed in the Unexamined Japanese Patent Application Publication No. Hei6-44064, a program stored in a flash memory is stored temporarily in a RAM (random access memory), and a program stored in a ROM (read only memory) in advance for controlling writing is executed so that the program stored in the RAM is written into the flash memory. Thus, the firmware can be updated.

[0003] In the related-art techniques, the program stored in the RAM can be indeed written into the flash memory. But there has been a problem that the program for making control of writing the program stored in the RAM into the flash memory is required to be stored in the ROM in advance.

SUMMARY OF THE INVENTION

[0004] The invention is developed in consideration of the foregoing problem. It is an object of the invention to provide a firmware writing system in which a system control program to be written into a flash memory and a writing control program for making control of writing a program into the flash memory are stored temporarily in a RAM, and the writing control program stored in the RAM is executed so that the system control program stored in the RAM can be written into the flash memory.

[0005] Further, it is another object of the invention to provide a firmware writing system in which a write error can be displayed when the write error occurs upon writing of the system control program stored in the RAM into the flash memory, while a verify error can be displayed when the contents of the system control program written in the flash memory are not in agreement with the contents of the system control program stored in the RAM.

[0006] In order to achieve the objects, according to the invention, there is provided a firmware writing system for writing firmware into an electronic device, including: a first storage unit for storing a system control program controlling the electronic device; a second storage unit for temporarily storing the system control program and a writing control program for making control of writing a program into the first storage unit; and a control unit for controlling storage of a program in the second storage unit and execution of the writing control program; wherein the system control program and the writing control program are stored in the second storage unit by the control unit, and the writing control program stored in the second storage unit is executed by the control unit so that the system control program stored in the second storage unit is written into the first storage unit.

[0007] Further, a write error display unit for displaying a write error and a verify error display unit for displaying a verify error are provided. Thus, a write error is displayed when the write error occurs upon writing of the system control program stored in the second storage unit into the first storage unit. In addition, a verify error is displayed when the contents of the system control program written in the first storage unit are not in agreement with the contents of the system control program stored in the second storage unit.

[0008] By these units, the system control program to be written into the flash memory and the writing control program for making control of writing a program into the flash memory are stored temporarily in the RAM, and the writing control program stored in the RAM is executed so that the system control program stored in the RAM can be written into the flash memory.

[0009] Further, a write error can be displayed when the write error occurs upon writing of the system control program stored in the RAM into the flash memory. In addition, a verify error can be displayed when the contents of the system control program written in the flash memory are not in agreement with the contents of the system control program stored in the RAM.

[0010] Further, there is provided a method for writing firmware into an electronic device, including the steps of: connecting a host computer to a JTAG interface of the electronic device; temporarily storing a system control program for controlling the electronic device and a writing control program for making control of writing a program, from the host computer into a second storage unit; separating the host computer from the JTAG interface; conveying the electronic device; and executing the writing control program stored in the second storage unit so as to write the system control program from the second storage unit into a first storage unit.

[0011] Still further, there is provided the method for writing firmware, further including the steps of: displaying a write error; wherein a write error is displayed when the write error occurs upon writing of the system control program stored in the second storage unit into the first storage unit.

[0012] Still further, there is provided the method for writing firmware, further including the step of: displaying a verify error; wherein a verify error is displayed when contents of the system control program written in the first storage unit are verified to be not in agreement with contents of the system control program stored in the second storage unit.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] [FIG. 1]

[0014]FIG. 1 is a block diagram showing the configuration of a firmware writing system according to an embodiment of the invention.

[0015] [FIG. 2]

[0016]FIG. 2 is a flow chart showing the operation of transferring programs and sending a control command in the firmware writing system according to the embodiment of the invention.

[0017] [FIG. 3]

[0018]FIG. 3 is a flow chart showing the operation of writing firmware in the firmware writing system according to the embodiment of the invention.

[0019] [FIG. 4]

[0020]FIG. 4 shows that a DVD player according to the present invention is conveyed on the belt conveyer.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0021] An embodiment of the invention will be described below in detail suitably with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a firmware writing system according to an embodiment of the invention. FIG. 2 is a flow chart showing the operation of transferring programs and sending a control command in the firmware writing system according to the embodiment of the invention. FIG. 3 is a flow chart showing the operation of writing firmware in the firmware writing system according to the embodiment of the invention.

[0022] First, description will be made, with reference to the block diagram of FIG. 1, on the configuration of the firmware writing system according to the embodiment of the invention.

[0023] A microprocessor portion 10 of an electronic device has a CPU (central processing unit) 1 for controlling the electronic device, a flash memory 3 for storing a system control program executed by the CPU 1, and a RAM 2 provided for the CPU 1 to temporarily store operation results or data. The CPU 1, the flash memory 3 and the RAM 2 are connected to one another through a system bus 6.

[0024] The flash memory 3 is an electrically erasable/writable nonvolatile memory. The flash memory 3 has a function as firmware. A control signal from the CPU 1 and a control signal from a flash memory control circuit 4 connected to the flash memory are applied to pins of the flash memory 3 at predetermined timing. Thus, the contents of the flash memory 3 can be erased and rewritten. A writing time of the flash memory is about 1 min/Mbites.

[0025] The RAM 2 is generally a memory for temporarily storing data such as operation results when the CPU 1 controls the electronic device. When firmware is written into the electronic device, the RAM 2 is used as a memory for temporarily storing a system control program and a writing control program for making control of writing the system control program into the flash memory. A writing time of the RAM is about 20 sec/M bites. Thus, the RAM writes about five times as fast as the flash memory.

[0026] In addition, a display unit 11 for displaying various kinds of information about the operational state of the electronic device is connected to the microprocessor portion 10 through the system bus 6. In accordance with a control signal from the CPU 1 and a control signal from a display control circuit 12 connected to the display unit 11, a normal termination in writing a program into the flash memory, a write error in writing a program into the flash memory, and a verify error in verifying a program written in the flash memory, as well as the various kinds of information such as the operational state of the electronic device, are displayed in the display unit 11 when firmware is written into the electronic device.

[0027] The CPU 1 of the microprocessor portion 10 and a host computer 20 are connected through a JTAG (Joint Test Action Group) interface 5. Data such as programs, and various control commands are transferred from the host computer 20 to the CPU 1 of the microprocessor portion 10 through the JTAG interface 5 so that the operation of the CPU 1 can be controlled from the outside.

[0028] The JTAG interface 5 is an interface based on a JTAG system conformable with the standard 1149.1 of IEEE (the Institute of Electrical and Electronics Engineers), allowing control of a CPU of an electronic device from the outside through the JTAG interface.

[0029] When firmware is written into the electronic device, the host computer 20 transfers a system control program and a writing control program to the CPU 1 of the microprocessor portion 10 through the JTAG interface 5, issues a command to write the transferred programs into the RAM 2, and sends the CPU 1 a run command for executing the writing control program stored in the RAM 2. Thus, the host computer 20 can control the CPU 1 to write the system control program stored in the RAM 2 into the flash memory 3.

[0030] Next, description will be made, with reference to the flow chart of FIG. 2, on the operation of transferring the programs and sending the control command in the firmware writing system according to the embodiment of the invention.

[0031] When the host computer and the electronic device are connected through the JTAG interface and the system control program for controlling the electronic device is started to transfer from the host computer, the routine of process goes from Step S1 to Step S2. In Step S2, the system control program is transferred from the host computer to the electronic device, and the transferred system control program is written into predetermined addresses of the RAM of the electronic device. Then, the routine of process goes to Step S3.

[0032] In Step S3, it is judged whether the system control program has been written into the RAM of the electronic device or not. If the system control program has been written, the routine of process will go to Step S4. If the system control program has not been written, the routine of process will return to Step S2 to repeat Step S2 and Step S3 so as to keep on writing the system control program in to the RAM of the electronic device.

[0033] In Step S4, the writing control program for making control of writing the system control program into the flash memory of the electronic device is transferred from the host computer to the electronic device. The transferred writing control program is written into predetermined addresses of the RAM of the electronic device. Then, the routine of process goes to Step S5.

[0034] In Step S5, it is judged whether the writing control program has been written into the RAM of the electronic device or not. If the writing control program has been written, the routine of process will go to Step S6. If the writing control program has not been written, the routine of process will return to Step S4 to repeat Step S4 and Step S5 so as to keep on writing the writing control program into the RAM of the electronic device.

[0035] In Step S6, a run command for executing the writing control program written in the RAM of the electronic device from a predetermined address is sent from the host computer to the electronic device. Then, the routine of process goes to Step S7, in which the process of transferring the programs and sending the control command is terminated.

[0036] Incidentally, the writing control program may be written into the RAM of the electronic device before the system control program.

[0037] In addition, the host computer and the electronic device may be disconnected after the run command for executing the writing control program is sent to the electronic device.

[0038] Further, description will be made, with reference to the flow chart of FIG. 3, on the operation of writing firmware in the firmware writing system according to the embodiment of the invention.

[0039] When the control command is sent from the host computer to the electronic device, the routine of process goes from Step S11 to Step S12. In Step S12, the writing control program stored in the RAM is executed from a predetermined address, and the contents of the flash memory are erased. Then, the routine of process goes to Step S13.

[0040] In Step S13, in accordance with the writing control program which is running, processing for writing the system control program stored in the RAM into predetermined addresses of the flash memory is started. Then, the routine of process goes to Step S14.

[0041] In Step S14, it is judged whether a write error in writing into the flash memory has occurred or not. If a write error has occurred in writing into the flash memory, the routine of process will go to Step S16. If no write error has occurred in writing into the flash memory, the routine of process will go to Step S15.

[0042] In Step S15, it is judged whether the system control program has been written into the flash memory or not. If the system control program has been written, the routine of process will go to Step S17. If the system control program has not been written, the routine of process will return to Step S13 to repeat Step S13 to Step S15 so as to keep on writing the system control program into the flash memory.

[0043] In Step S16, a write error in writing into the flash memory is displayed. Then, the routine of process goes to Step S22, in which writing the system control program into the flash memory is interrupted, and the writing process is terminated.

[0044] In Step S17, the contents of the system control program written in the flash memory are verified with the contents of the system control program stored in the RAM. Then, the routine of process goes to Step S18.

[0045] In Step S18, it is judged whether the contents of the system control program written in the flash memory are in agreement with the contents of the system control program stored in the RAM or not. If the contents of the programs are not in agreement, the routine of process will go to Step S21. If the contents of the programs are in agreement, the routine of process will go to Step S19.

[0046] In Step S19, it is judged whether the contents of the system control program written in the flash memory have been verified with the contents of the system control program stored in the RAM or not. If the contents of the programs have been verified, the routine of process will go to Step S20. If the contents of the programs have not been verified, the routine of process will return to Step S17 to repeat Step S17 to Step S19 so as to keep on verifying the contents of the programs.

[0047] In Step S21, a verify error in verifying the system control program written in the flash memory is displayed. Then, the routine of process goes to Step S22, in which writing the system control program into the flash memory is interrupted, and the writing process is terminated.

[0048] In Step S20, since there is no write error and no verify error in the system control program written in the flash memory, a normal writing termination is displayed. Then, the routine of process goes to Step S22, in which the process of writing the system control program into the flash memory is terminated.

[0049] Incidentally, although a write error and a verify error in writing into the flash memory were displayed and the process of writing the system control program into the flash memory was then interrupted and terminated, the contents of the flash memory may be erased again and the process of writing the system control program into the flash memory may be repeated.

[0050] As described above, according to the firmware writing system according to the invention, the system control program to be written into the flash memory and the writing control program for making control of writing the program into the flash memory are stored in the RAM temporarily. The writing control program stored in the RAM is executed so that the system control program stored in the RAM can be written into the flash memory. In addition, when a write error occurs upon writing of the system control program stored in the RAM into the flash memory, the write error can be displayed. Further, when the contents of the system control program written in the flash memory are not in agreement with the contents of the system control program stored in the RAM, a verify error can be displayed. Thus, the program for making control of writing the program into the flash memory may not be stored in a ROM.

[0051] In a firmware writing system according to the invention, by the control based on a JTAG system, a system control program for controlling an electronic device and a writing control program for making control of writing a program are stored temporarily in a random access memory, and the writing control program stored in the random access memory is executed so that the system control program stored in the random access memory is written into the flash memory. When a write error occurs upon writing of the system control program stored in the random access memory into the flash memory, the write error is displayed. Further, when the contents of the system control program written in the flash memory are not in agreement with the contents of the system control program stored in the random access memory, a verify error is displayed.

[0052] In a firmware writing system according to the invention, a system control program for controlling an electronic device and a writing control program for making control of writing a program are stored temporarily, and the stored writing control program is executed so that the system control program is written.

[0053] In a firmware writing system according to the invention, the system control program for controlling the electronic device is stored in a flash memory.

[0054] In a firmware writing system according to the invention, the system control program for controlling electronic device and the writing control program for making control of writing a program are stored temporarily in a random access memory.

[0055] In a firmware writing system according to the invention, the firmware writing system is controlled by a JTAG system.

[0056] In a firmware writing system according to the invention, when a write error occurs upon writing of the system control program, the write error is displayed.

[0057] In a firmware writing system according to the invention, the write error in writing the system control program is displayed in a display unit provided in the electronic device.

[0058] In a firmware writing system according to the invention, the written system control program is verified, and a verify error is displayed when the contents of the written system control program are not in agreement.

[0059] In a firmware writing system according to the invention, the verify error in verifying the written system control program is displayed in a display unit provided in the electronic device.

[0060] In the manufacturing process, the electronic device can be separated from the host computer. Accordingly, the system control program can be transferred from the first storage unit to the second storage unit while the electronic device is conveyed on a conveyor line. Thus, the manufacturing time can be shortened. That is, according to the invention, the time of the writing step for which it takes about 95 seconds in the related art can be shortened to about 10 seconds. Thus, the conveyor speed in the manufacturing line can be increased on a large scale.

[0061] Besides, the present invention is applicable to any home electric appliances as well as a DVD player.

[0062] Due to the present invention, since the program is transferred from a RAM with being conveyed on a belt conveyer during the manufacture, it is possible to shorten a manufacturing time.

[0063] [FIG. 1]

[0064]2 RAM

[0065] SYSTEM CONTROL PROGRAM

[0066] WRITING CONTROL PROGRAM

[0067]3 FLASH MEMORY

[0068] SYSTEM CONTROL PROGRAM

[0069]4 FLASH MEMORY CONTROL CIRCUIT

[0070]11 DISPLAY UNIT

[0071]12 DISPLAY CONTROL CIRCUIT

[0072]20 HOST COMPUTER

[0073] [FIG. 2]

[0074] S1 START

[0075] S2 TRANSFER SYSTEM COTNROL PROGRAM, AND WRITE IT INTO RAM

[0076] S3 HAS BEEN WRITING COMPLETED?

[0077] S4 TRANSFER WRITING COTNROL PROGRAM, AND WRITE IT INTO RAM

[0078] S5 HAS BEEN WRITING COMPLETED?

[0079] S6 SEND RUN COMMAND TO EXECUTE WRITING CONTROL PROGRAM

[0080] S7 END

[0081] [FIG. 3]

[0082] S11 START

[0083] S12 ERASE FLASH MEMORY

[0084] S13 WRITE SYSTEM CONTROL PROGRAM IN RAM INTO FLASH MEMORY

[0085] S14 IS THERE ANY WRITE ERROR?

[0086] S15 HAS BEEN WRITING COMPLETED?

[0087] S16 DISLAY WRITE ERROR

[0088] S17 VERIFY SYSTEM CONTROL PROGRAM WRITTEN IN FLASH MEMORY WITH CONTENTS OF RAM

[0089] S18 IS THERE ANY VERIFY ERROR?

[0090] S19 HAS BEEN VERIFYING COMPLETED?

[0091] S20 DISPLAY NORMAL WRITING TERMINATION

[0092] S21 DISPLAY VERIFY ERROR

[0093] S22 END 

What is claimed is:
 1. A firmware writing system for writing firmware into an electronic device, comprising: a flash memory for storing a system control program controlling said electronic device; a random access memory for temporarily storing the system control program and a writing control program for making control of writing a program into said flash memory; a control unit for controlling storage of a program in said random access memory and execution of the writing control program, said control unit being controlled by a JTAG system; and a display unit for displaying a write error and a verify error; wherein the system control program and the writing control program are stored in said random access memory by said control unit, and the writing control program stored in said random access memory is executed by said control unit so that the system control program stored in said random access memory is written into said flash memory; and a write error is displayed when the write error occurs upon writing of the system control program stored in said random access memory into said flash memory, while a verify error is displayed when contents of the system control program written in said flash memory are not in agreement with contents of the system control program stored in said random access memory.
 2. A firmware writing system for writing firmware into an electronic device, comprising: a first storage unit for storing a system control program controlling said electronic device; a second storage unit for temporarily storing the system control program and a writing control program for making control of writing a program into said first storage unit; and a control unit for controlling storage of a program in said second storage unit and execution of the writing control program; wherein the system control program and the writing control program are stored in said second storage unit by said control unit, and the writing control program stored in said second storage unit is executed by said control unit so that the system control program stored in said second storage unit is written into said first storage unit.
 3. The firmware writing system according to claim 2, wherein said first storage unit is a flash memory.
 4. The firmware writing system according to claim 2, wherein said second storage unit is a random access memory.
 5. The firmware writing system according to claim 2, wherein said control unit is a control unit controlled by a JTAG system.
 6. The firmware writing system according to claim 2, further comprising: a write error display unit for displaying a write error, wherein a write error is displayed when the write error occurs upon writing of the system control program stored in said second storage unit into said first storage unit.
 7. The firmware writing system according to claim 6, wherein said write error display unit is a display unit provided in said electronic device.
 8. The firmware writing system according to claim 2, further comprising: a verify error display unit for displaying a verify error, wherein a verify error is displayed when contents of the system control program stored in said first storage unit are verified to be not in agreement with contents of the system control program stored in said second storage unit.
 9. The firmware writing system according to claim 8, wherein said verify error display unit is a display unit provided in said electronic device.
 10. A method for writing firmware into an electronic device, comprising the steps of: (a) connecting a host computer to a JTAG interface of said electronic device; (b) temporarily storing a system control program for controlling said electronic device and a writing control program for making control of writing a program, from said host computer into a second storage unit; (c) separating said host computer from said JTAG interface; (d) conveying said electronic device; and (e) executing said writing control program stored in said second storage unit so as to write said system control program from said second storage unit into a first storage unit.
 11. The method for writing firmware according to claim 10, wherein: said first storage unit is a flash memory.
 12. The method for writing firmware according to claim 10, wherein: said second storage unit is a random access memory.
 13. The method for writing firmware according to claim 10, wherein: the step (b) is controlled by a JTAG system.
 14. The method for writing firmware according to claim 10, further comprising the steps of: displaying a write error; wherein a write error is displayed when said write error occurs upon writing of said system control program stored in said second storage unit into said first storage unit.
 15. The method for writing firmware according to claim 10, further comprising the step of: displaying a verify error; wherein a verify error is displayed when contents of said system control program written in said first storage unit are verified to be not in agreement with contents of said system control program stored in said second storage unit. 